//
//  RenderbunnyViewController.h
//  Renderbunny
//
//  Created by Holmes Futrell on 1/20/11.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import <UIKit/UIKit.h>

#import <OpenGLES/EAGL.h>

#import <OpenGLES/ES1/gl.h>
#import <OpenGLES/ES1/glext.h>
#import <OpenGLES/ES2/gl.h>
#import <OpenGLES/ES2/glext.h>

#import "GLTexture.h"
#import "ShaderProgram.h"

#import "IndexedModel.h"
#import "GLFont.h"

@interface RenderbunnyViewController : UIViewController
{
    EAGLContext *context;
    
	ShaderProgram *shader, *tangentShader;
	ShaderProgram *basicShader;
	
    BOOL animating;
    NSInteger animationFrameInterval;
    CADisplayLink *displayLink;
	
	IndexedModel *model1, *model2;
	GLTexture *texture, *normals, *ambient;
	
	GLTexture *tangentMap;
	GLTexture *crazy_amb;
	GLTexture *horizon;

	GLFont *font;
	
	int mode;
	int count;
	int fps;
	
}

@property (readonly, nonatomic, getter=isAnimating) BOOL animating;
@property (nonatomic) NSInteger animationFrameInterval;

- (void)notify;
- (void)startAnimation;
- (void)stopAnimation;

@end
